Une petite anecdote personnelle sur Python

Lundi 4 mars, je prends le train pour me rendre à un entretien d'embauche sur Lyon.

En attendant le train sur le quai, je me trouve à côté d'une personne qui parle au téléphone. La trentaine, costume cravate, téléphone dernier cri…

Malgré le bruit sur le quai, j'entends quelques brides de la conversation qu'il a avec la personne au bout du fil.

Apparemment, quelque chose ne va pas! Il est mécontent de son interlocuteur. Au vu des termes employés (fonctions, tests, versions…) je comprends qu'il s'agit d'un problème informatique.

Intrigué, je tends l'oreille!

D'après ce que je comprends, il dirige une équipe de programmeurs et il est mécontent de leurs retards, des bugs dans leurs programmes et d'autres choses encore.

Il poursuit en demandant les causes du problème et malgré le bruit environnement j'entends ceci " … et il y a beaucoup d'autres incompatibilités entre la v2 et la v3 ?". A ce moment, je ne peux m'empêcher de pouffer de rire car je viens de comprendre quel est le langage de programmation dont il est question.

Il poursuit la conversation, toujours remonté contre son équipe, en demandant pourquoi ces bugs ne peuvent pas être tous détectés, sous quels délais ils peuvent être corrigés et enfin si il n'existe pas des programmes permettant de détecter automatiquement les bugs dans les codes sources.

Cette personne étant sortie du train en cours de route, je n'ai pas pu lui dire ce qui suit:

Vous avez des problèmes de développement informatique? Vous avez des programmes qui buguent, des erreurs qui apparaissent en cours d'exécution, des erreurs de typages qui apparaissent, des fonctions qui ne retournent pas ce qu'elles devraient, des temps de développements qui se rallongent et vous cherchez un programme qui permettrait de détecter toutes ces erreurs?

Un programme qui permettrait de scanner l'intégralité de votre code pour trouver les types incompatibles, le mauvais positionnement des arguments, les instances manquantes, les tests incomplets, et bien d'autres choses ?

Hé bien oui, un tel programme existe !

Cela s'appelle un COMPILATEUR ! 😁

Si vous voulez pouvoir en bénéficier, c'est simple, il faut utiliser des langages compilés, pas des langages interprétés.

Donc … PAS PYTHON !

Quand on construit un immeuble, on ne le construit pas sur un terrain marécageux, instable et truffés de galeries de mines. Et si on s'y amuse, il ne faut pas s'étonner de voir la construction se mettre à pencher, les murs se craqueler, les retards s'accumuler, le coût de fabrication exploser… Et dans ce cas ce ne sont pas les maçons qu'il faut blâmer mais, le promoteur, l'architecte, le géologue et parfois même le client final qui a eu une idée stupide ou l'arrogance de ne pas écouter les personnes compétentes.

Si vous voulez des langages de programmation fiables, performants, efficaces et robustes, faites un petit tour du côté du langage D (Le successeur du langage C), de Rust, de OCAML, ou même pourquoi pas de Haskell !